package com.balabala.gym_consume.service;

import com.balabala.gym_consume.pojo.dto.*;

import com.balabala.gym_consume.pojo.vo.*;
import com.balabala.gym_consume.pojo.vo.OrderQueryVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.balabala.gym_consume.pojo.entity.Order;

import java.util.List;


/**
 * (Order)表服务接口
 *
 * @author 何涛
 * @since 2023-05-07 16:58:33
 */
public interface OrderService extends IService<Order> {



    //模糊条件查询
    List<OrderQueryVo> findAllByLike(OrderServiceDto orderServiceDto);

    /**
     * 订单确认数据
     * @param orderConfirmDTO
     * @return
     */
    OrderConfirmVO confirm(OrderConfirmDTO orderConfirmDTO);

    /**
     * 订单提交
     * @param orderSubmitDTO
     * @return
     */
    OrderSubmitVO submit(OrderSubmitDTO orderSubmitDTO);


    /**
     * 取消订单
     * @param id
     * @return
     */
    Boolean cancelOrderById(Long id);

    /**
     * 删除订单
     * @param orderId
     * @return
     */

    Boolean deleteOrderByOrderId(Long orderId);



    /**
     * 用户订单查询信息
     * @param orderPageDTO
     * @return
     */
    List<UserOrderPageItemDTO> orderList(OrderPageDTO orderPageDTO);

    /*
     * 根据sn查询出订单详情中的基本信息和订单状态*/
    OrderBySnVoAddUserName findOrderBySn(String sn);

    /*根据sn查询出订单详情中的商品信息*/
    GoodSnVo findGoodBySn(String sn);

    //根据ids批量修改订单状态
    boolean updateOrderStatusByIds(UpdateOrderStatusDTO updateOrderStatusDTO);
}


